//
//  UIAlertController+ACExt.h
//  ACFramework
//
//  Created by caoyq on 2018/5/23.
//

#import <UIKit/UIKit.h>

@interface UIAlertController (ACExt)

/**
 快速创建AlertController：包括Alert 和 ActionSheet
 
 @param title       标题文字
 @param message     消息文字
 @param actions     可选择操作的按钮文字（不包括取消）
 @param cancelTitle 取消按钮文字
 @param style       类型：Alert 或者 ActionSheet
 @param completion  完成点击按钮之后的回调（取消返回-1，其他按照actions传入的顺序返回下标）
 */
+ (void)ac_showAlertWithTitle: (NSString *)title message: (NSString *)message actionTitles: (NSArray<NSString *> *)actions cancelTitle: (NSString *)cancelTitle style: (UIAlertControllerStyle)style completion: (void(^)(NSInteger index))completion;

/**
 快速创建AlertController：包括Alert 和 ActionSheet(指定父类控制器)
 
 @param title 标题文字
 @param message 消息文字
 @param actions 可选择操作的按钮文字（不包括取消）
 @param cancelTitle 取消按钮文字
 @param style 类型：Alert 或者 ActionSheet
 @param vc    弹框展示所依赖的控制器
 @param completion 完成点击按钮之后的回调（取消返回-1，其他按照actions传入的顺序返回下标）
 */
+ (void)ac_showAlertWithTitle: (NSString *)title message: (NSString *)message actionTitles: (NSArray<NSString *> *)actions cancelTitle: (NSString *)cancelTitle style: (UIAlertControllerStyle)style superViewController: (UIViewController *)vc completion: (void(^)(NSInteger index))completion;

/**
 带输入框 的Alert，输入框个数和 placeholders 占位文字数组一致
 
 @param title        大标题
 @param message      小标题
 @param actionTitle  确认按钮标题
 @param cancelTitle  取消按钮标题
 @param placeholders 占位文字
 @param completion   点击确认之后回调，返回输入的文字数组
 */
+ (void)ac_showInputAlertWithTitle: (NSString *)title message: (NSString *)message actionTitle: (NSString *)actionTitle cancelTitle: (NSString *)cancelTitle placeholders: (NSArray *)placeholders completion: (void(^)(NSArray *list))completion;

@end
